<?php
// 定义 24 节气及其对应的日期范围（以公历表示，这里给出大致范围）
$jieqi = [
    "立春" => ["2月3日", "2月5日", "2月4日"],
    "雨水" => ["2月18日", "2月20日", "2月19日"],
    "惊蛰" => ["3月5日", "3月7日", "3月6日"],
    "春分" => ["3月20日", "3月22日", "3月21日"],
    "清明" => ["4月4日", "4月6日", "4月5日"],
    "谷雨" => ["4月19日", "4月21日", "4月20日"],
    "立夏" => ["5月5日", "5月7日", "5月6日"],
    "小满" => ["5月20日", "5月22日", "5月21日"],
    "芒种" => ["6月5日", "6月7日", "6月6日"],
    "夏至" => ["6月21日", "6月22日"],
    "小暑" => ["7月6日", "7月8日", "7月7日"],
    "大暑" => ["7月22日", "7月24日", "7月23日"],
    "立秋" => ["8月7日", "8月9日", "8月8日"],
    "处暑" => ["8月22日", "8月24日", "8月23日"],
    "白露" => ["9月7日", "9月9日", "9月8日"],
    "秋分" => ["9月22日", "9月24日", "9月23日"],
    "寒露" => ["10月8日", "10月9日"],
    "霜降" => ["10月23日", "10月24日"],
    "立冬" => ["11月7日", "11月8日"],
    "小雪" => ["11月22日", "11月23日"],
    "大雪" => ["12月6日", "12月8日", "12月7日"],
    "冬至" => ["12月21日", "12月23日", "12月22日"],
    "小寒" => ["1月5日", "1月7日", "1月6日"],
    "大寒" => ["1月20日", "1月21日"]
];

// 初始化或获取当前得分
session_start();
if (!isset($_SESSION['score'])) {
    $_SESSION['score'] = 0;
}

// 随机选择一个节气
if (!isset($_POST['jieqi'])) {
    $randomKey = array_rand($jieqi);
    $currentJieqi = $randomKey;
    $correctDates = $jieqi[$randomKey];
} else {
    $currentJieqi = $_POST['jieqi'];
    $correctDates = $jieqi[$_POST['jieqi']];
    $userGuess = $_POST['guess'];

    // 判断用户猜测是否正确
    if (strtotime($userGuess) >= strtotime($correctDates[0]) && strtotime($userGuess) <= strtotime($correctDates[1])) {
        $message = "恭喜你，答对了！";
        $_SESSION['score']++;
    } else {
        $message = "答错了，正确日期范围是 " . $correctDates[0] . " - " . $correctDates[1];
    }

    // 重新选择一个新的节气
    $randomKey = array_rand($jieqi);
    $currentJieqi = $randomKey;
    $correctDates = $jieqi[$randomKey];
}
?>

<!DOCTYPE html>
<html lang="zh-CN">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>节气猜日期游戏</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            text-align: center;
        }

        h1 {
            color: #333;
        }

        form {
            margin-top: 20px;
        }

        input[type="date"] {
            padding: 8px;
            font-size: 16px;
        }

        input[type="submit"] {
            padding: 8px 16px;
            font-size: 16px;
            background-color: #007BFF;
            color: white;
            border: none;
            cursor: pointer;
        }

        input[type="submit"]:hover {
            background-color: #0056b3;
        }

        #message {
            margin-top: 20px;
            color: green;
        }

        #score {
            margin-top: 10px;
            font-size: 18px;
        }
    </style>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/flatpickr/dist/flatpickr.min.css">
</head>

<body>
    <h1>节气猜日期游戏</h1>
    <p>请猜测 <strong><?php echo $currentJieqi; ?></strong> 对应的公历日期：</p>
    <form method="post">
        <label for="month-day">请输入月日：</label>
        <input type="text" id="month-day"  name="guess">
        <input type="hidden" name="jieqi" value="<?php echo $currentJieqi; ?>">
        <input type="submit" value="提交答案">
    </form>
    <?php if (isset($message)): ?>
        <div id="message"><?php echo $message; ?></div>
    <?php endif; ?>
    <div id="score">当前得分: <?php echo $_SESSION['score']; ?></div>
    <script src="https://cdn.jsdelivr.net/npm/flatpickr"></script>
    <script>
        flatpickr("#month-day", {
            dateFormat: "m-d",
            showYear: false
        });
    </script>
</body>

</html>